package util;

import java.awt.Color;
import java.io.File;

public class Constantes {
	
	/*
	 * Idiomas
	 */
	public static String IDIOMA_ATUAL = "";
	public static final String IDIOMA_PT_BT = "pt_br";
	public static final String IDIOMA_EN = "en";
	
	/*
	 * Cores
	 */
	public static final Color COR_AZUL_MARINHO = new Color(35,35,142);
	
	/*
	 * Configuracoes dos Arquivos de Configuracao
	 * 
	 * */
	
	public static final String XML_ROOT_ELEMENT = "configuracao";
	public static final String XML_CONFIG_ELEMENT = "config";
	public static final String XML_SERIAL_ELEMENT = "serial";
	public static final String XML_QTD_ESCONDIDA_ELEMENT = "n-neuronios-esc";
	public static final String XML_EPOCH_ELEMENT = "epoch";
	public static final String XML_ERRO_ELEMENT = "erro";
	
	public static final String XML_PREFERENCE_ELEMENT = "preferences";
	public static final String XML_IDIOMA_ELEMENT = "idioma";
	
	/*
	 * Diretorios do Sistema 
	 * 
	 * */
	
	public static final File DIRETORIO_RAIZ = new File("files/");
	public static final File DIRETORIO_PERFIL = new File(DIRETORIO_RAIZ, "perfil/");
	public static final File DIRETORIO_CONFIG = new File(DIRETORIO_RAIZ, "config/");
	
	public static final File DIRETORIO_PERFIL_BACKUP = new File(DIRETORIO_PERFIL, "bkp/");
	public static final File DIRETORIO_PERFIL_TMP = new File(DIRETORIO_PERFIL, "tmp/");
	
	public static final File DIRETORIO_PERFIL_CONSISTENCIA = new File(DIRETORIO_PERFIL, "consistencia/");
	public static final File DIRETORIO_PERFIL_CONSISTENCIA_COLETA = new File(DIRETORIO_PERFIL_CONSISTENCIA, "coleta_dados/");
	public static final File DIRETORIO_PERFIL_CONSISTENCIA_FLUXO_NORMALIZADO = new File(DIRETORIO_PERFIL_CONSISTENCIA, "fluxo_normalizado/");
	public static final File DIRETORIO_PERFIL_CONSISTENCIA_FLUXO_ORIGINAL = new File(DIRETORIO_PERFIL_CONSISTENCIA, "fluxo_original/");
	public static final File DIRETORIO_PERFIL_CONSISTENCIA_IMAGENS_ZOOM = new File(DIRETORIO_PERFIL_CONSISTENCIA, "imagens_zoom/");
	public static final File DIRETORIO_PERFIL_CONSISTENCIA_IMAGENS_PAN_1 = new File(DIRETORIO_PERFIL_CONSISTENCIA, "imagens_pan1/");
	public static final File DIRETORIO_PERFIL_CONSISTENCIA_IMAGENS_PAN_2 = new File(DIRETORIO_PERFIL_CONSISTENCIA, "imagens_pan2/");
	
	public static final File DIRETORIO_PERFIL_ESTATISTICA = new File(DIRETORIO_PERFIL, "estatistica/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_RNA = new File(DIRETORIO_PERFIL_ESTATISTICA, "rna/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_REAL = new File(DIRETORIO_PERFIL_ESTATISTICA, "real/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_METROLOGICO = new File(DIRETORIO_PERFIL_ESTATISTICA, "metrologico/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_CSV = new File(DIRETORIO_PERFIL_ESTATISTICA, "csv/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_FLUXO_ORIGINAL = new File(DIRETORIO_PERFIL_ESTATISTICA, "fluxo_original/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_FLUXO_NORMALIZADO = new File(DIRETORIO_PERFIL_ESTATISTICA, "fluxo_normalizado/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_IMAGENS_ZOOM = new File(DIRETORIO_PERFIL_ESTATISTICA, "imagens_zoom/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_IMAGENS_PAN_1 = new File(DIRETORIO_PERFIL_ESTATISTICA, "imagens_pan1/");
	public static final File DIRETORIO_PERFIL_ESTATISTICA_IMAGENS_PAN_2 = new File(DIRETORIO_PERFIL_ESTATISTICA, "imagens_pan2/");
	
	public static final File DIRETORIO_PERFIL_INDETERMINADOS = new File(DIRETORIO_PERFIL, "indeterminados/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_RNA = new File(DIRETORIO_PERFIL_INDETERMINADOS, "rna/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_REAL = new File(DIRETORIO_PERFIL_INDETERMINADOS, "real/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_METROLOGICO = new File(DIRETORIO_PERFIL_INDETERMINADOS, "metrologico/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_CSV = new File(DIRETORIO_PERFIL_INDETERMINADOS, "csv/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_FLUXO_ORIGINAL = new File(DIRETORIO_PERFIL_INDETERMINADOS, "fluxo_original/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_FLUXO_NORMALIZADO = new File(DIRETORIO_PERFIL_INDETERMINADOS, "fluxo_normalizado/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_IMAGENS_ZOOM = new File(DIRETORIO_PERFIL_INDETERMINADOS, "imagens_zoom/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_IMAGENS_PAN_1 = new File(DIRETORIO_PERFIL_INDETERMINADOS, "imagens_pan1/");
	public static final File DIRETORIO_PERFIL_INDETERMINADOS_IMAGENS_PAN_2 = new File(DIRETORIO_PERFIL_INDETERMINADOS, "imagens_pan2/");
	
	public static final File DIRETORIO_PERFIL_TESTES_RNA = new File(DIRETORIO_PERFIL, "testes_rna/");
	public static final File DIRETORIO_PERFIL_TESTES_RNA_COLETA_DADOS = new File(DIRETORIO_PERFIL_TESTES_RNA, "coleta_dados/");	
	public static final File DIRETORIO_PERFIL_TESTES_RNA_FLUXO_ORIGINAL = new File(DIRETORIO_PERFIL_TESTES_RNA, "fluxo_original/");
	public static final File DIRETORIO_PERFIL_TESTES_RNA_FLUXO_NORMALIZADO = new File(DIRETORIO_PERFIL_TESTES_RNA, "fluxo_normalizado/");
	public static final File DIRETORIO_PERFIL_TESTES_RNA_IMAGENS_ZOOM = new File(DIRETORIO_PERFIL_TESTES_RNA, "imagens_zoom/");
	public static final File DIRETORIO_PERFIL_TESTES_RNA_IMAGENS_PAN_1 = new File(DIRETORIO_PERFIL_TESTES_RNA, "imagens_pan1/");
	public static final File DIRETORIO_PERFIL_TESTES_RNA_IMAGENS_PAN_2 = new File(DIRETORIO_PERFIL_TESTES_RNA, "imagens_pan2/");
	
	public static final File DIRETORIO_PERFIL_TESTES_METROLOGICO = new File(DIRETORIO_PERFIL, "testes_metro/");
	public static final File DIRETORIO_PERFIL_TESTES_METROLOGICO_COLETA_DADOS = new File(DIRETORIO_PERFIL_TESTES_METROLOGICO, "coleta_dados/");	
	public static final File DIRETORIO_PERFIL_TESTES_METROLOGICO_FLUXO_ORIGINAL = new File(DIRETORIO_PERFIL_TESTES_METROLOGICO, "fluxo_original/");
	public static final File DIRETORIO_PERFIL_TESTES_METROLOGICO_FLUXO_NORMALIZADO = new File(DIRETORIO_PERFIL_TESTES_METROLOGICO, "fluxo_normalizado/");
	public static final File DIRETORIO_PERFIL_TESTES_METROLOGICO_IMAGENS_ZOOM = new File(DIRETORIO_PERFIL_TESTES_METROLOGICO, "imagens_zoom/");
	public static final File DIRETORIO_PERFIL_TESTES_METROLOGICO_IMAGENS_PAN_1 = new File(DIRETORIO_PERFIL_TESTES_METROLOGICO, "imagens_pan1/");
	public static final File DIRETORIO_PERFIL_TESTES_METROLOGICO_IMAGENS_PAN_2 = new File(DIRETORIO_PERFIL_TESTES_METROLOGICO, "imagens_pan2/");
	
	
	public static final File DIRETORIO_PERFIL_MAXIMOS = new File(DIRETORIO_PERFIL, "maximos/");
	public static final File DIRETORIO_PERFIL_TREINAMENTO = new File(DIRETORIO_PERFIL, "treinamento/");
	
	/*
	 * Arquivos do Sistema 
	 * 
	 * */
	
	public static final File MAXIMOS_CSV = new File(DIRETORIO_PERFIL_MAXIMOS, "maximos.csv");
	public static final File CONFIG_XML = new File(DIRETORIO_CONFIG, "config.xml");
	public static final File SERIAIS_XML = new File(DIRETORIO_CONFIG, "seriais.xml");
	public static final File PREFERENCES_XML = new File(DIRETORIO_CONFIG, "preferences.xml");
	public static final File PERFIL_TRAIN = new File(DIRETORIO_PERFIL_TREINAMENTO, "perfil_train.csv");
	public static final File PERFIL_EVAL = new File(DIRETORIO_PERFIL_TREINAMENTO, "perfil_eval.csv");
	public static final File DADOS_COLETADOS_CSV_FILE = new File(DIRETORIO_PERFIL_TREINAMENTO, "perfil_full.csv");
	public static final File PERFIL_ESTATISTICA_TOTAIS = new File(DIRETORIO_PERFIL_ESTATISTICA, "estatistica_totais.csv");
	public static final File PERFIL_ESTATISTICA_RESUMO = new File(DIRETORIO_PERFIL_ESTATISTICA, "estatistica_resumo.csv");
//	public static final File BKP_CSV_SOURCE_FILE = new File(DIRETORIO_PERFIL_TREINAMENTO, "perfil_bkp.csv");
//	public static final File NORMALIZED_TRAIN_CSV_FILE = new File(DIRETORIO_PERFIL_TREINAMENTO, "normalized_train.csv");	
//	public static final File NORMALIZED_EVAL_CSV_FILE = new File(DIRETORIO_PERFIL_TREINAMENTO, "normalized_eval.csv");	
//	public static final File NORMALIZED_BKP_CSV_FILE = new File(DIRETORIO_PERFIL_TREINAMENTO, "normalized_bkp.csv");
	public static final File TRAINED_NETWORK_FILE_EG = new File(DIRETORIO_PERFIL_TREINAMENTO, "fotoperfil.eg");
	
	/*
	 * Extensoes de Arquivos
	 * 
	 * */
	
	public static final String EXTENSAO_CSV = ".csv";
	public static final String EXTENSAO_TXT = ".txt";
	public static final String EXTENSAO_JPG = ".jpg";
	public static final String EXTENSAO_PNG = ".png";
	
	/*
	 * Configuracoes do treinamento
	 * 
	 * */
	
	public static final String TRAINED_NETWORK_NAME = "fotoperfil-network";
	public static final String NORMALIZATION_NAME = "fotoperfil-norm";
	
	public static final int TRAINING_MINUTES = 10;
	public static final int INPUT_COUNT = 8;
	public static final int HIDDEN_COUNT = 8;
	public static final int OUTPUT_COUNT = 1;

	/*
	 * Tamanhos definidos
	 * 
	 * */
	public static final double TAMANHO_DO_LACO_METROS = 3.5;
	
	/*
	 * Icones
	 * 
	 * */
	public static final File ICONE_REFRESH = new File(Constantes.DIRETORIO_CONFIG, "refresh_icon" + Constantes.EXTENSAO_PNG);
	public static final File ICONE_DELETE_ALL = new File(Constantes.DIRETORIO_CONFIG, "deleteall_icon" + Constantes.EXTENSAO_PNG);
	public static final File ICONE_DELETE = new File(Constantes.DIRETORIO_CONFIG, "delete_icon" + Constantes.EXTENSAO_PNG);
	public static final File ICONE_SAVE = new File(Constantes.DIRETORIO_CONFIG, "save_icon" + Constantes.EXTENSAO_PNG);
	public static final File ICONE_COPY = new File(Constantes.DIRETORIO_CONFIG, "copy_icon" + Constantes.EXTENSAO_PNG);
	public static final File ICONE_MODIFY = new File(Constantes.DIRETORIO_CONFIG, "modify_icon" + Constantes.EXTENSAO_PNG);
	public static final File ICONE_GENERATE = new File(Constantes.DIRETORIO_CONFIG, "generate_icon" + Constantes.EXTENSAO_PNG);
	public static final File ICONE_DETAIL = new File(Constantes.DIRETORIO_CONFIG, "detail_icon" + Constantes.EXTENSAO_PNG);
	public static final File TOP_ICON = new File(Constantes.DIRETORIO_CONFIG, "top_icon" + Constantes.EXTENSAO_PNG);
	public static final File BOTTOM_ICON = new File(Constantes.DIRETORIO_CONFIG, "bottom_icon" + Constantes.EXTENSAO_PNG);
	
	/*
	 * Tipos
	 * 
	 * */
	
//	public static final String TODOS = "TODOS"; 
//	public static final String T = "T";
//	public static final String P = "P";
//	public static final String M = "M";
//	public static final String G = "G";
//	public static final String C = "C";
//	public static final String O = "O";   
	
	/*
	 * Configuracoes Gerais
	 * 
	 * */
	
	public static final String CONSISTENCIA = "CONSISTENCIA";
	public static final String TESTES_RNA = "TESTES_RNA";
	public static final String ESTATISTICAS = "ESTATISTICAS";
	public static final String INDETERMINADOS = "INDETERMINADOS";
	
	
}